#!/bin/bash

# 递归遍历文件夹
traverse_folder() {
    local folder="$1"
    local keyword="$2"
    local max_size_mb=10

    for file in "$folder"/*; do
        if [ -d "$file" ]; then
            # 如果是文件夹，则递归遍历
            traverse_folder "$file" "$keyword"
        elif [ -f "$file" ]; then
            # 如果是文件，则获取文件大小和文件名
            file_size=$(du -m "$file" | cut -f1)
            file_name=$(basename "$file")
            
            # 删除文件大小大于 10MB 的文件
            if [ $file_size -gt $max_size_mb ]; then
                echo "Deleting file: $file_name (size: ${file_size}MB)"
                rm "$file"
            fi

            # 找出包含指定字符的文件
            if grep -q "$keyword" "$file"; then
                echo "File contains keyword '$keyword': $file_name"
            fi
        fi
    done
}

# 指定文件夹路径和关键字

folder_path="/home/zjg/test_folder/test_folder1"
search_keyword="缓存机制"

# 调用函数进行遍历
traverse_folder "$folder_path" "$search_keyword"
